package com.geekcattle.util;

import java.util.HashMap;
import java.util.Map;

/**
 * @program: geek-framework
 * @description:
 * @author: LQ
 * @create: 2019-04-19 22:40
 */

public class MapUtil {
    /**
     * 分页map处理
     * @param map 需要分页的map信息
     * @return 处理后的map
     */
    public static Map limitMap(Map map){
        if (map.get("page")!=null&&map.get("limit")!=null) {
            int page = Integer.parseInt(map.get("page").toString()) - 1;
            if (page<0){
                page = 0;
            }
            int limit = Integer.parseInt(map.get("limit").toString());
            map.put("page",page*limit);
            map.put("limit",limit);
        }
        return map;
    }

    /**
     * 方法执行成功和失败的返回值方法
     * @param result 执行结果 大于等于1,成功,否则失败
     * @param msg 信息,成功需要显示的信息或者失败需要显示的信息
     * @return
     */
    public static Map infoMap(int result,String msg){
        Map map = new HashMap();
        map.put("msg",msg);
        if (result<=0){
            map.put("info",false);
        }else{
            map.put("info",true);
        }
        return map;
    }
    public static Map infoMap(int result){
        return MapUtil.infoMap(result,null);
    }
    public static Map infoMap(String msg){
        return MapUtil.infoMap(0,msg);
    }

    /**
     * 返回结果Map
     * @param code layui格式默认0,可以设置
     * @param count 数据条数
     * @param msg 信息
     * @param data 需要返回的数据
     * @return
     */
    public static Map resultMap(int code,int count,String msg,Object data){
        Map map = new HashMap();
        map.put("code",code);
        map.put("count",count);
        map.put("msg",msg);
        map.put("data",data);
        return map;
    }
    public static Map resultMap(int count,Object data){
        return MapUtil.resultMap(0,count,null,data);
    }
    public static Map resultMap(int count,String msg,Object data){
        return MapUtil.resultMap(0,count,msg,data);
    }
    public static Map resultMap(String msg,Object data){
        return MapUtil.resultMap(0,0,msg,data);
    }
    public static Map resultMap(Object data){
        return MapUtil.resultMap(0,0,null,data);
    }
}
